package com.HooDee.netty.secondeDemo;

import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.handler.codec.http.HttpObject;

import java.util.UUID;

/**
 * Package: com.HooDee.netty.secondeDemo
 * Description：
 * Author: 蒋豪
 * Date:  2021.09.10 22:01
 * Modified By:
 */
public class MyServerHandler extends SimpleChannelInboundHandler<String> {

    /**
     * 服务端接收到消息的时候进入此方法
     * @param ctx
     * @param msg 返回过来的参数对象
     * @throws Exception
     */
    @Override
    protected void channelRead0(ChannelHandlerContext ctx, String msg) throws Exception {
         System.out.println(ctx.channel().remoteAddress() + ", " + msg);
         // 向客户发送消息
         ctx.channel().writeAndFlush("来之服务端的消息："+ UUID.randomUUID());
    }

    /**
     * 发生异常
     * @param ctx
     * @param cause
     * @throws Exception
     */
    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
        cause.printStackTrace();
        ctx.close();
    }
}
